import Vue from 'vue'
import uView from "uview-ui";
Vue.use(uView);
import App from './App'
import store from './store';
import http from './common/http.js';
Vue.config.productionTip = false
App.mpType = 'app';
// 请求封装写入原型
Vue.prototype.apiRequest = (obj) => {
	return http.apiRequest(obj);
}

// 页面返回
Vue.prototype.pageBreak = (obj) => {
	let config = {
		upDate: obj && obj.upDate ? obj.upDate : '',
		jumpUrl: obj && obj.jumpUrl ? obj.jumpUrl : ''
	}
	if (config.jumpUrl) {
		uni.redirectTo({
			url: config.jumpUrl,
			success: (res) => {
				// const pages = getCurrentPages();
				// const page = pages[pages.length - 1];
				// if (config.upDate) {
				// 	page.$vm.pageUpDate() // 通过调用页面的 onLoad 里面的处理逻辑实现刷新数据	
				// }
				store.commit("setBreakPageUrl", "")
			}
		})
	} else {
		if (config.upDate) {
			uni.navigateBack({
				success: () => {
					const pages = getCurrentPages() // 获取当前页面栈数组，第一个元素为首页，最后一个元素为当前页面
					let page = pages[Math.max(pages.length - 2,
						0)] // 要返回到的页面，超过页面栈，则为首页
					if (config.upDate) {
						page.$vm.pageUpDate() // 通过调用页面的 onLoad 里面的处理逻辑实现刷新数据	
					}
				}
			})
		} else {
			uni.navigateBack()
		}


	}
};

// 页面跳转
Vue.prototype.jumpPage = (url, type, animation) => {
	if (url && url != '#') {
		switch (type) {
			case 'redirectTo':
				uni.redirectTo({
					url: url,
					animationType: animation ? animation : 'pop-in'
				})
				break;
			case 'reLaunch':
				uni.reLaunch({
					url: url,
					animationType: animation ? animation : 'pop-in'
				})
				break;
			case 'switchTab':
				uni.switchTab({
					url: url,
					animationType: animation ? animation : 'pop-in'
				})
				break;
			default:
				uni.navigateTo({
					url: url,
					animationType: animation ? animation : 'pop-in'
				})
				break;
		}

	} else {
		uni.showToast({
			title: "暂未开放",
			icon: "none"

		})
	}
}
const app = new Vue({
    ...App,
	store
})
app.$mount()
